Fork me on GitHub

MySQL 数据库(一)

前言:

  1. 关系型数据库 与 RDBMS;
  2. SQL 和 MySQL 的介绍;
  3. 数据类型与约束。

一、数据库介绍

1. 数据存储

数据库是由一些特殊的文件组成,用来存储数据

2. 数据库分类

  • 关系型数据库
  • 非关系型数据库
1. 关系型数据库

建立在关系模型基础上的数据库,通俗讲这种数据库由多个表组成,表与表存在一定的关系

2. 主要的几种关系型数据库

oracle:在大型项目中使用,银行,电信等项目
mysql:web时代使用最广泛的关系型数据库
ms sql server:在微软的项目中使用
sqlite:轻量级数据库,主要应用在移动平台

3. 关系型数据库核心的元素

数据行(记录)
数据列(字段)
数据表(数据行的集合)
数据库(数据表的集合)
主键(特殊的字段,用来唯一标识记录的唯一性)

3. RDBMS

1. RDBMS:Relational Database Management System

关系型数据库管理系统,用于管理数据库

2. RDBMS 与关系型数据库的关系

通过 RDBMS 实现对数据库的增删改查

4. SQL

SQL(Structured Query Language) 结构化查询语言,是一种用来操作RDBMS的数据库语言,当前关系型数据库都支持使用SQL语言进行操作,
也就是说可以通过 SQL 操作 oracle,sql server,mysql,sqlite 等等所有的关系型的数据库。

- DQL:数据查询语言,用于对数据进行查询,如select
- DML:数据操作语言,对数据进行增加、修改、删除,如insert、udpate、delete
- DDL:数据定义语言,进行数据库、表的管理等,如createdrop

- TPL:事务处理语言,对事务进行处理,包括begin transactioncommitrollback
- DCL:数据控制语言,进行授权与权限回收,如grantrevoke
- CCL:指针控制语言,通过控制指针完成表的操作,如declare cursor

提示: sql语句不区分大小写,每条sql语句后面加;

5. MySQL

MySQL 是一个关系型数据库管理系统,最早由瑞典 MySQL AB 公司开发,后来被Sun公司收购,
Sun公司后来又被 Oracle 公司收购,目前属于 Oracle 旗下产品

MySQL 对跨平台支持性好,提供了多种主流语言调用的API

MySQL 市场占有率高,且开源,免费,是中小型项目首选的关系型数据库系统

6. 数据库引擎

InnoDB,MyISAM 数据库引擎

mysql 创建表时,默认是InnoDB引擎

两种类型有什么区别:
MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。
MyISAM类型的表强调的是性能,其执行速度比InnoDB类型更快,但是不提供事务等高级特性,而InnoDB提供事务支持,行级锁,高并发。
一般开发中默认使用的是innodb引擎


二、数据类型与约束

1. 数据类型:
使用数据类型的原则是:够用就行,尽量使用取值范围小的,而不用大的,这样可以更多的节省存储空间

1. int: 整形
2. bit:位(0 | 1
2. decimal: 浮点数 # dicemal(5,2) # 总位数5位,小数位2
3. varchar: 可变字符类型 # 可节省存储空间
4. enum: 枚举类型 # gender enum("男","女") 注意:有中文时,数据库编码必须支持中文(utf-8 可以,latin1 不行)
5. datetime: 日期时间类型
6. tinyint: 非贪婪整形

2. 数据约束:
1. 主键: primary key(id)
2. 自增: auto_increment
2. 非空: not null
3. 唯一值: unique
4. 缺省值: default
5. 外键: foreign key
6. 无符号: unsigned
-------------本文结束感谢您的阅读-------------

本文标题:MySQL 数据库(一)

文章作者:曹永林

发布时间:2018年07月18日 - 01:07

最后更新:2018年07月28日 - 10:07

原始链接:http://jovelin.cn/2018/07/18/MySQL 数据库(一)/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。